
<!DOCTYPE HTML>
<html lang="en" >
    <head>
        <meta charset="UTF-8">
        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
        <title>FAQ · GitBook</title>
        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
        <meta name="description" content="">
        <meta name="generator" content="GitBook 3.2.3">
        
        
        
    
    
    <link rel="stylesheet" href="../../gitbook/style.css">

    
            
                
                <link rel="stylesheet" href="../../gitbook/gitbook-plugin-mermaid-gb3/mermaid/mermaid.css">
                
            
                
                <link rel="stylesheet" href="../../gitbook/gitbook-plugin-highlight/website.css">
                
            
                
                <link rel="stylesheet" href="../../gitbook/gitbook-plugin-search/search.css">
                
            
                
                <link rel="stylesheet" href="../../gitbook/gitbook-plugin-fontsettings/website.css">
                
            
        

    

    
        
    
        
    
        
    
        
    
        
    
        
    


    

        
    
    
    <meta name="HandheldFriendly" content="true"/>
    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
    <meta name="apple-mobile-web-app-capable" content="yes">
    <meta name="apple-mobile-web-app-status-bar-style" content="black">
    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../../gitbook/images/apple-touch-icon-precomposed-152.png">
    <link rel="shortcut icon" href="../../gitbook/images/favicon.ico" type="image/x-icon">

    
    <link rel="next" href="body_indexes.html" />
    
    

    </head>
    <body>
        
<div class="book">
    <div class="book-summary">
        
            
<div id="book-search-input" role="search">
    <input type="text" placeholder="Type to search" />
</div>

            
                <nav role="navigation">
                


<ul class="summary">
    
    

    

    
        
        
    
        <li class="chapter " data-level="1.1" data-path="../">
            
                <a href="../">
            
                    
                    Overview
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.2" data-path="../guide/android.html">
            
                <a href="../guide/android.html">
            
                    
                    android
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.3" data-path="../guide/ios.html">
            
                <a href="../guide/ios.html">
            
                    
                    ios
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.4" >
            
                <span>
            
                    
                    work process
            
                </span>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.4.1" data-path="../flow/ble_scale.html">
            
                <a href="../flow/ble_scale.html">
            
                    
                    Common Bluetooth scale
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.4.2" data-path="../flow/ble_scale_custom_connect.html">
            
                <a href="../flow/ble_scale_custom_connect.html">
            
                    
                    Common Bluetooth Scale-Self-managed Bluetooth
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.4.3" data-path="../flow/kitchen_scale.html">
            
                <a href="../flow/kitchen_scale.html">
            
                    
                    Kitchen scale
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.4.4" data-path="../flow/ble_user_scale.html">
            
                <a href="../flow/ble_user_scale.html">
            
                    
                    User Scale
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.4.5" data-path="../flow/ble_ruler.html">
            
                <a href="../flow/ble_ruler.html">
            
                    
                    Bluetooth ruler
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="1.5" >
            
                <span>
            
                    
                    API
            
                </span>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.5.1" data-path="../api/QNBleApi.html">
            
                <a href="../api/QNBleApi.html">
            
                    
                    QNBleApi
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.5.1.1" data-path="../api/QNBleApi.html">
            
                <a href="../api/QNBleApi.html#initsdk">
            
                    
                    initSdk
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.5.1.2" data-path="../api/QNBleApi.html">
            
                <a href="../api/QNBleApi.html#getcursystemblestate">
            
                    
                    getCurSystemBleState
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.5.1.3" data-path="../api/QNBleApi.html">
            
                <a href="../api/QNBleApi.html#setsysblestatelistener">
            
                    
                    setSysBleStateListener
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.5.1.4" data-path="../api/QNBleApi.html">
            
                <a href="../api/QNBleApi.html#setbledevicediscoverylistener">
            
                    
                    setBleDeviceDiscoveryListener
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.5.1.5" data-path="../api/QNBleApi.html">
            
                <a href="../api/QNBleApi.html#setbleconnectionchangelistener">
            
                    
                    setBleConnectionChangeListener
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.5.1.6" data-path="../api/QNBleApi.html">
            
                <a href="../api/QNBleApi.html#setdataListener">
            
                    
                    setDataListener
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.5.1.7" data-path="../api/QNBleApi.html">
            
                <a href="../api/QNBleApi.html#setblekitchenlistener">
            
                    
                    setBleKitchenListener
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.5.1.8" data-path="../api/QNBleApi.html">
            
                <a href="../api/QNBleApi.html#setloglistener">
            
                    
                    setLogListener
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.5.1.9" data-path="../api/QNBleApi.html">
            
                <a href="../api/QNBleApi.html#startbledevicediscovery">
            
                    
                    startBleDeviceDiscovery
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.5.1.10" data-path="../api/QNBleApi.html">
            
                <a href="../api/QNBleApi.html#stopbledevicediscovery">
            
                    
                    stopBleDeviceDiscovery
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.5.1.11" data-path="../api/QNBleApi.html">
            
                <a href="../api/QNBleApi.html#connectdevice">
            
                    
                    connectDevice
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.5.1.12" data-path="../api/QNBleApi.html">
            
                <a href="../api/QNBleApi.html#connectuserscaledevice">
            
                    
                    connectUserScaleDevice
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.5.1.13" data-path="../api/QNBleApi.html">
            
                <a href="../api/QNBleApi.html#connectblekitchendevice">
            
                    
                    connectBleKitchenDevice
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.5.1.14" data-path="../api/QNBleApi.html">
            
                <a href="../api/QNBleApi.html#setblekitchendeviceconfig">
            
                    
                    setBleKitchenDeviceConfig
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.5.1.15" data-path="../api/QNBleApi.html">
            
                <a href="../api/QNBleApi.html#disconnectdevice">
            
                    
                    disconnectDevice
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.5.1.16" data-path="../api/QNBleApi.html">
            
                <a href="../api/QNBleApi.html#getconfig">
            
                    
                    getConfig
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.5.1.17" data-path="../api/QNBleApi.html">
            
                <a href="../api/QNBleApi.html#convertweightwithtargetunit">
            
                    
                    convertWeightWithTargetUnit
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.5.1.18" data-path="../api/QNBleApi.html">
            
                <a href="../api/QNBleApi.html#builddevice">
            
                    
                    buildDevice
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.5.1.19" data-path="../api/QNBleApi.html">
            
                <a href="../api/QNBleApi.html#buildprotocolhandler">
            
                    
                    buildProtocolHandler
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.5.1.20" data-path="../api/QNBleApi.html">
            
                <a href="../api/QNBleApi.html#generatescaledata">
            
                    
                    generateScaleData
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.5.1.21" data-path="../api/QNBleApi.html">
            
                <a href="../api/QNBleApi.html#physiquecalculation">
            
                    
                    physiqueCalculation
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.5.1.22" data-path="../api/QNBleApi.html">
            
                <a href="../api/QNBleApi.html#switchuserscaleuser">
            
                    
                    switchUserScaleUser
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.5.1.23" data-path="../api/QNBleApi.html">
            
                <a href="../api/QNBleApi.html#updateuserscaleidentifyweight">
            
                    
                    updateUserScaleIdentifyWeight
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.5.1.24" data-path="../api/QNBleApi.html">
            
                <a href="../api/QNBleApi.html#setblerulerlistener">
            
                    
                    setBleRulerListener
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.5.1.25" data-path="../api/QNBleApi.html">
            
                <a href="../api/QNBleApi.html#connectrulerdevice">
            
                    
                    connectRulerDevice
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="1.5.2" data-path="../api/QNUser.html">
            
                <a href="../api/QNUser.html">
            
                    
                    QNUser
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.5.3" data-path="../api/QNScaleData.html">
            
                <a href="../api/QNScaleData.html">
            
                    
                    QNScaleData
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.5.4" data-path="../api/QNScaleStoreData.html">
            
                <a href="../api/QNScaleStoreData.html">
            
                    
                    QNScaleStoreData
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.5.5" data-path="../api/QNScaleItemData.html">
            
                <a href="../api/QNScaleItemData.html">
            
                    
                    QNScaleItemData
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.5.6" data-path="../api/QNBleDevice.html">
            
                <a href="../api/QNBleDevice.html">
            
                    
                    QNBleDevice
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.5.7" data-path="../api/QNBleBroadcastDevice.html">
            
                <a href="../api/QNBleBroadcastDevice.html">
            
                    
                    QNBleBroadcastDevice
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.5.8" data-path="../api/QNBleKitchenDevice.html">
            
                <a href="../api/QNBleKitchenDevice.html">
            
                    
                    QNBleKitchenDevice
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.5.9" data-path="../api/QNConfig.html">
            
                <a href="../api/QNConfig.html">
            
                    
                    QNConfig
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.5.10" data-path="../api/QNWiFiConfig.html">
            
                <a href="../api/QNWiFiConfig.html">
            
                    
                    QNWiFiConfig
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.5.11" data-path="../api/QNUserScaleConfig.html">
            
                <a href="../api/QNUserScaleConfig.html">
            
                    
                    QNUserScaleConfig
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.5.12" data-path="../api/QNBleKitchenConfig.html">
            
                <a href="../api/QNBleKitchenConfig.html">
            
                    
                    QNBleKitchenConfig
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.5.13" data-path="../api/QNBleStateListener.html">
            
                <a href="../api/QNBleStateListener.html">
            
                    
                    QNBleStateListener
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.5.14" data-path="../api/QNBleDeviceDiscoveryListener.html">
            
                <a href="../api/QNBleDeviceDiscoveryListener.html">
            
                    
                    QNBleDeviceDiscoveryListener
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.5.15" data-path="../api/QNBleConnectionChangeListener.html">
            
                <a href="../api/QNBleConnectionChangeListener.html">
            
                    
                    QNBleConnectionChangeListener
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.5.16" data-path="../api/QNScaleDataListener.html">
            
                <a href="../api/QNScaleDataListener.html">
            
                    
                    QNScaleDataListener
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.5.17" data-path="../api/QNUserScaleDataListener.html">
            
                <a href="../api/QNUserScaleDataListener.html">
            
                    
                    QNUserScaleDataListener
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.5.18" data-path="../api/QNBleKitchenListener.html">
            
                <a href="../api/QNBleKitchenListener.html">
            
                    
                    QNBleKitchenListener
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.5.19" data-path="../api/QNLogListener.html">
            
                <a href="../api/QNLogListener.html">
            
                    
                    QNLogListener
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.5.20" data-path="../api/QNResultCallback.html">
            
                <a href="../api/QNResultCallback.html">
            
                    
                    QNResultCallback
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.5.21" data-path="../api/QNShareData.html">
            
                <a href="../api/QNShareData.html">
            
                    
                    QNShareData
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.5.22" data-path="../api/QNUtils.html">
            
                <a href="../api/QNUtils.html">
            
                    
                    QNUtils
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.5.23" data-path="../api/QNBleProtocolHandler.html">
            
                <a href="../api/QNBleProtocolHandler.html">
            
                    
                    QNBleProtocolHandler
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.5.24" data-path="../api/QNBleProtocolDelegate.html">
            
                <a href="../api/QNBleProtocolDelegate.html">
            
                    
                    QNBleProtocolDelegate
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.5.25" data-path="../api/QNWspScaleDataListener.html">
            
                <a href="../api/QNWspScaleDataListener.html">
            
                    
                    QNWspScaleDataListener
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.5.26" data-path="../api/QNBleRulerDevice.html">
            
                <a href="../api/QNBleRulerDevice.html">
            
                    
                    QNBleRulerDevice
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.5.27" data-path="../api/QNBleRulerData.html">
            
                <a href="../api/QNBleRulerData.html">
            
                    
                    QNBleRulerData
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.5.28" data-path="../api/QNBleRulerListener.html">
            
                <a href="../api/QNBleRulerListener.html">
            
                    
                    QNBleRulerListener
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="1.6" >
            
                <span>
            
                    
                    Schedule
            
                </span>
            

            
            <ul class="articles">
                
    
        <li class="chapter active" data-level="1.6.1" data-path="faq.html">
            
                <a href="faq.html">
            
                    
                    FAQ
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.6.2" data-path="body_indexes.html">
            
                <a href="body_indexes.html">
            
                    
                    Body Index Constant
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.6.3" data-path="device_type.html">
            
                <a href="device_type.html">
            
                    
                    Device Type
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.6.4" data-path="display_module_type.html">
            
                <a href="display_module_type.html">
            
                    
                    Display module type
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.6.5" data-path="body_shape.html">
            
                <a href="body_shape.html">
            
                    
                    Body shape comparison table
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.6.6" data-path="error_code.html">
            
                <a href="error_code.html">
            
                    
                    Error Code
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.6.7" data-path="area_type.html">
            
                <a href="area_type.html">
            
                    
                    Area Type
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.6.8" data-path="scan_error.html">
            
                <a href="scan_error.html">
            
                    
                    Scan Error Code
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.6.9" data-path="scale_state.html">
            
                <a href="scale_state.html">
            
                    
                    Scale State Definition
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.6.10" data-path="scale_event.html">
            
                <a href="scale_event.html">
            
                    
                    Scale event definition
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.6.11" data-path="test_list.html">
            
                <a href="test_list.html">
            
                    
                    Test Case
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.6.12" data-path="../history/history.html">
            
                <a href="../history/history.html">
            
                    
                    Update Log
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    

    

    <li class="divider"></li>

    <li>
        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
            Published with GitBook
        </a>
    </li>
</ul>


                </nav>
            
        
    </div>

    <div class="book-body">
        
            <div class="body-inner">
                
                    

<div class="book-header" role="navigation">
    

    <!-- Title -->
    <h1>
        <i class="fa fa-circle-o-notch fa-spin"></i>
        <a href=".." >FAQ</a>
    </h1>
</div>




                    <div class="page-wrapper" tabindex="-1" role="main">
                        <div class="page-inner">
                            
<div id="book-search-results">
    <div class="search-noresults">
    
                                <section class="normal markdown-section">
                                
                                <h1 id="common-problem">common problem</h1>
<h2 id="app-logic-design-related">APP logic design related</h2>
<h3 id="whether-to-bind-or-pair-the-device&#xFF1F;">Whether to bind or pair the device&#xFF1F;</h3>
<p>A concept needs to be clarified here. The binding or pairing mentioned in the question refers to adding a paired Bluetooth device in Android/iOS. Usually some standard equipment will be needed, such as Bluetooth headset, stylus, bracelet. These will need to be set in the Bluetooth settings of the mobile phone system. But our scale is not used, we will ask for instructions</p>
<p>Bluetooth 4.0, or BLE, can be used directly without binding a Bluetooth device. The private protocol used by our scales cannot be used directly via the mobile phone system Bluetooth, which is true of almost all body fat scales on the market. The added device in our APP (Light Cow Health) only allows the APP to remember the user&apos;s scale, not the Bluetooth pairing of the mobile phone system. The process of adding equipment also guides the user how to use body fat scales. Our small program is made in a simple and rude way. After adding the scale and opening it directly, connect to the scale and measure.</p>
<p>The customer can decide whether to add this logic. It is recommended that if it is made into a small function module of APP, it can be directly made into a scale similar to our small program, directly measured on the scale, and displayed data.</p>
<h3 id="how-to-make-the-user-respond-immediately-after-stepping-on-the-scale">How to make the user respond immediately after stepping on the scale</h3>
<p>Our own APP (Light Cow Health), in normal use, is to let the user open the APP, step on the scale, and measure immediately, which can reduce the user&apos;s operation steps. In fact, to put it bluntly, after opening the APP, the APP automatically calls the entire set of logic of the SDK, without requiring the user to click to select a device or the like. The specific implementation steps are as follows:</p>
<ol>
<li>After entering the measurement interface, check the Bluetooth status</li>
<li>Bluetooth is on, start scanning</li>
<li>Scan to the body fat scale to determine whether it is an added device or connect directly without judgment (the location depends on the APP logic)</li>
<li>Successful connection, display measurement animation</li>
<li>The measurement is completed and the measurement results are displayed</li>
</ol>
<h3 id="after-the-measurement-is-completed-is-it-necessary-to-immediately-disconnect-the-bluetooth-connection">After the measurement is completed, is it necessary to immediately disconnect the Bluetooth connection</h3>
<p>There is usually no need to actively disconnect the scale unless the user exits the measurement interface.</p>
<p>If you need to measure the immediate disconnection, it is best to be able to delay 2s disconnection. Some of our early successes, if the measurement is completed immediately disconnected, the scale may appear unexpected.</p>
<h3 id="how-to-analyze-data">How to analyze data</h3>
<p>Whether a data is standard&#x3001;Low, etc., this can refer to our <a href="SDK%20indicator%20standard%20description.pdf">SDK indicator standard description</a>.</p>
<p>Our Demo also shows how to analyze the data, but the Demo interface only shows the rating registration, and it does not make a beautiful report like our APP.</p>
<h2 id="appid-is-related-to-configuration-file">APPID is related to configuration file</h2>
<h3 id="what-is-appid-and-configuration-file&#xFF1F;what-is-the-role&#xFF1F;">What is appid and configuration file&#xFF1F;What is the role&#xFF1F;</h3>
<p>The appid is a unique identifier created by Yolanda for customers, and will be registered in our background. A given appid usually does not change. The appid <code>123456789</code> in the demo is the appid that we tested and let customers experience. The appid &#x2019;s characteristics are unstable and may be modified at any time. If you have reached a formal cooperation intention, it is recommended to apply to us for appid for business or sales. The application process is very fast and can be completed in a few minutes.</p>
<p>The configuration file is some encrypted data used with appid, and the model is agreed&#x3001;algorithm&#x3001;Indicators and other information. Different customer requirements are all different, so we encapsulate customer customization requirements in this configuration file.</p>
<h3 id="can-different-clients-use-the-same-appid">Can different clients use the same APPID</h3>
<p>Android and iOS can use one appid, the applet/applet plug-in cannot be the same as the appid of the SDK</p>
<h3 id="whether-the-sdk-is-offline&#xFF1F;what-data-will-it-send-to-yolanda-cloud&#xFF1F;">Whether the SDK is offline&#xFF1F;What data will it send to Yolanda cloud&#xFF1F;</h3>
<p>In the method <a href="../api/QNBleApi.html#initsdk">initSdk</a>,-the-sdk-will-send-a-request-to-verify-with-our-cloud-that-the-configuration-file-needs-to-be-updated.-if-you-need-to-update,-the-latest-configuration-file-will-be-downloaded-(the-configuration-file-is-very-small,-generally-512-bytes), if you do not need to update, then do nothing.</p>
<p>The SDK supports offline mode. If customers specifically request it, we will set the configuration of this item in the configuration file to <code>offline</code>. After setting to offline, the SDK no longer sends out any network requests (this can be verified with the packet capture tool). The configuration file is no longer updated. If you need to add a model or indicator, you need to apply for a configuration file with our company again, and then the developer Replace manually.</p>
<h3 id="initialization-prompt-appid-error">Initialization prompt appid error</h3>
<ul>
<li>Check if the initialization file and the appid used match</li>
<li>Check if the introduced SDK is up to date</li>
</ul>
<h3 id="missing-data-returned-after-measurement">Missing data returned after measurement</h3>
<p>If it is only the weight and BMI data, you can refer to <a href="#there-is-no-data-such-as-body-fat-rate-after-the-measurement-is-completed">there is no data such as body fat rate after the measurement is completed</a>.</p>
<p>If the body fat rate can be measured, but the indicator you want is missing, the indicator is usually not included in the configuration file. You need to communicate with our business/sales to increase this indicator.</p>
<p>After adding indicators, our company will re-send a configuration file, which needs to be replaced.</p>
<p>Send the model ID of the scanned device to our company for confirmation</p>
<h2 id="sdk-function-related">SDK function related</h2>
<h3 id="is-it-possible-to-judge-whether-the-scale-is-off&#xFF1F;">Is it possible to judge whether the scale is off&#xFF1F;</h3>
<p>For <code>ordinary Bluetooth scale</code> and<code>dual-mode scale</code>, when the device is not connected, scan the obtained device object <a href="../api/QNBleDevice.html">QNBleDevice</a>, there is an attribute <code>isScreenOn</code>, which indicates Whether the screen is bright. After connecting the device, it is impossible to directly judge whether the device is bright or not, but for some scales, the connection will be disconnected when the screen is turned off.</p>
<blockquote>
<p>The isScreenOn attribute only indicates that the device is bright when the SDK scans to it, and the subsequent device screen state changes, and QNBleDevice will not be dynamically updated. The new QNBleDevice callback needs to be scanned to determine.</p>
</blockquote>
<p>For the &apos;broadcast scale&apos;, the ability to scan to the device is the state of being turned on. If it cannot be scanned, it is usually not turned on.</p>
<h3 id="the-connection-device-has-been-unsuccessful-or-will-be-disconnected-soon-after-success">The connection device has been unsuccessful or will be disconnected soon after success</h3>
<ul>
<li>Check if the device is connected by others</li>
<li>Check whether the currently connected device has been paired in the system Bluetooth, if it is already paired, you need to cancel the pairing</li>
<li>Some mobile phones need to be scanned before they can connect successfully. Scan the device before connecting</li>
</ul>
<h3 id="sdk-returns-no-location-permission-error">SDK returns no location permission error</h3>
<ul>
<li>Check if it is correct <strong>ACCESS_COARSE_LOCATION</strong> with <strong>ACCESS_FINE_LOCATION</strong> Both have applied, and both permissions have been verified in the SDK</li>
<li>Whether to compile version 26 and above, if yes, both permissions need to be applied separately (new features in 8.0)<blockquote>
<p>For Android 6.0 and above, Google classifies Bluetooth as a part of the positioning function. When using Bluetooth scanning, the user needs to authorize the positioning permission, otherwise when the scan is called, the system will prompt that the positioning permission is required
A considerable part of mobile phones (about 1/3 of the appearance, the device cannot be scanned without turning on the location service switch, most of them are native, and the domestic system will be optimized for this, it is not necessary)</p>
</blockquote>
</li>
</ul>
<h3 id="the-sdk-returns-the-wrong-file-confirm-that-the-file-location-is-not-abnormal-and-confirm-that-the-file-is-used-in-the-demo-without-exception">The SDK returns the wrong file, confirm that the file location is not abnormal, and confirm that the file is used in the demo without exception</h3>
<ul>
<li>Check if there is so library added</li>
<li>Check if the packaged apk file contains so library</li>
</ul>
<h3 id="monitor-callbacks-for-data-or-devices-etc-multiple-callbacks-at-the-same-time">Monitor callbacks for data or devices, etc., multiple callbacks at the same time</h3>
<ul>
<li>First determine whether or not, set multiple monitoring. When monitoring is not used, it must be set to null</li>
<li>Determine whether it is a measurement of wearing shoes, this may lead to the situation of completing multiple measurements in a short time</li>
</ul>
<h3 id="after-the-measurement-is-completed-there-is-no-data-such-as-body-fat-rate">After the measurement is completed, there is no data such as body fat rate</h3>
<ol>
<li>Check whether the information is correct, mainly birthday (used to calculate age)&#x3001;Whether the two parameters of height exceed the normal value range</li>
<li>Check if any shoes are taken off. When wearing shoes, the biological impedance cannot be measured, so the body fat rate and other indicators cannot be calculated</li>
</ol>
<h3 id="i-cant-scan-the-device-what-should-i-do">I can&apos;t scan the device, what should I do</h3>
<ol>
<li>Check if Bluetooth is turned on&#x3001;Have you stepped on the scale, is the phone too far away from the scale (more than 10 meters)</li>
<li>Check if the scanned device has been connected by others</li>
<li>If it is Android, you can check whether there is location permission, and whether there is a location service switch</li>
<li>Try to restart Bluetooth, if not, try restarting Bluetooth.</li>
</ol>
<h3 id="is-there-a-bracelet-sdk&#xFF1F;">Is there a bracelet SDK&#xFF1F;</h3>
<p>Our company has smart bracelet devices and SDK. However, the SDK is not completely open to the outside world temporarily. If you have any intention, you can contact our company for business negotiation.</p>
<h3 id="whether-the-sdk-can-only-do-protocol-analysis-bluetooth-scanning-and-connection-are-managed-by-customers-themselves">Whether the SDK can only do protocol analysis, Bluetooth scanning and connection are managed by customers themselves</h3>
<p>This is achievable, the implementation of ordinary Bluetooth scale and Bluetooth broadcast scale will be different.</p>
<blockquote>
<p>It is technically difficult to implement Bluetooth scanning and connection management by yourself. If you do not have relevant Bluetooth development experience, this operation is not recommended. If you insist on this operation, we will think that the customer has richer Bluetooth development experience.</p>
</blockquote>
<ol>
<li>Write your own <a href="../api/QNBleProtocolDelegate.html">Bluetooth protocol proxy class</a> to implement each Bluetooth operation method</li>
<li>Write <a href="../api/QNScaleDataListener.html">Data Monitor Callback Class QNScaleDataListener</a> and use [<a href="../api/QNBleApi.html#setbledevicediscoverylistener">QNBleApi.setBleDeviceDiscoveryListener</a> to register in SDK.</li>
<li>Scan the Bluetooth yourself and pass the scanned information to the SDK. Use the method <a href="../api/QNBleApi.html#builddevice">QNBleApi.buildDevice</a> to create a Yolanda Bluetooth device</li>
<li>Create user object, use method <a href="../api/QNBleApi.html#builduser">QNBleApi.buildUser</a></li>
<li>Create <a href="../api/QNBleProtocolHandler.html">Bluetooth Protocol Processing Class</a></li>
<li>Make a Bluetooth connection</li>
<li>The connection is successful, and after finding the service is successful, call <a href="../api/QNBleProtocolHandler.html#prepare">prepare method of Bluetooth protocol processing class</a></li>
<li>Process the data of <a href="../api/QNScaleDataListener.html">QNScaleDataListener</a> callback</li>
<li>After receiving stable data, process it by yourself.</li>
</ol>
<h3 id="your-official-website-api&#x300A;scale-status-definition&#x300B;the-status-here-is-0-9-why-is-it-promising-in-the-demo-you-provided-1s-state-and-it-will-indeed-return-to-this-state">Your official website API&#x300A;Scale status definition&#x300B;The status here is 0-9, why is it promising in the demo you provided&#x201C;-1&#x201D;&apos;S state (and it will indeed return to this state)</h3>
<p>-1 always exists, indicating that the connection is lost by default, that is, the connection is disconnected. Usually received after the scale actively disconnects. We will unify this state to the disconnected state as soon as possible.</p>
<h2 id="other-problems">other problems</h2>
<h3 id="is-it-possible-to-give-the-calculation-method-of-body-fat-rate-and-other-indicators&#xFF1F;">Is it possible to give the calculation method of body fat rate and other indicators&#xFF1F;</h3>
<p>The algorithm of these indicators belongs to my driver and cannot be provided.</p>
<h3 id="what-is-the-data-stored-on-the-scale">What is the data stored on the scale</h3>
<p>When the ordinary Bluetooth scale is not connected to the mobile phone during weighing, the scale will store the data in the scale body. When the Bluetooth is connected next time, the data will be transferred to the APP. This data is distributed by the APP, and the assigned user can hand over to the SDK to calculate the complete data.</p>
<h3 id="can-provide-bluetooth-protocol">Can provide Bluetooth protocol</h3>
<p>In principle, we will not provide Bluetooth protocol, if you really need, you can communicate with our business/sales</p>
<h3 id="why-the-data-measured-by-the-sdk-is-different-from-the-data-of-light-cow-or-light-cow-health">Why the data measured by the SDK is different from the data of Light Cow or Light Cow Health</h3>
<p>Yolanda has several sets of algorithms, different algorithms that different devices may use.</p>
<p>In addition, we have a health question mechanism in our own APP, which will let the user answer 2 questions and use different algorithms according to the user&apos;s answer.</p>
<p>The algorithm mechanism in the SDK is usually a unified algorithm, immutable. In other words, the same scale uses our APP measurement and SDK measurement, the calculation data and weight are the same, there may be many differences. Therefore, our company does not recommend using our APP and SDK measurement data for comparison. Customers only need to be concerned about whether the given algorithm is suitable and stable.</p>
<h3 id="how-to-troubleshoot-problems-in-the-online-version-after-abnormal-bluetooth-connection">How to troubleshoot problems in the online version after abnormal Bluetooth connection</h3>
<p>First check the user&apos;s mobile phone model, if possible, try to use the same model as the customer to test.</p>
<p>Register the log output interface <a href="../api/QNLogListener.html">QNLogListener</a>, record related logs (you can save log files), and send them to our developers for analysis.</p>
<h3 id="after-bluetooth-is-searched-and-connected-the-foot-stays-on-the-body-fat-scale-for-a-few-seconds-and-then-remove-the-foot-it-will-return-the-status-code-of-the-measurement-completion-no-data-is-returned-in-the-method-of-returning-data">After Bluetooth is searched and connected, the foot stays on the body fat scale for a few seconds, and then remove the foot, it will return the status code of the measurement completion (no data is returned in the method of returning data)</h3>
<h3 id="why-can-we-search-for-bluetooth-without-any-operation-no-one-is-near-the-body-fat-scale-within-10-30-minutes">Why can we search for Bluetooth without any operation (no one is near the body fat scale within 10-30 minutes)</h3>
<p>When weighing, if the APP is not connected, the scale will cache this data in it, and it will also broadcast for 5-30 minutes after the screen is closed (it varies depending on the production batch). After the APP is connected, the cached data can be received and displayed to the client. This function is used to solve the problem that the user does not need a mobile phone when weighing. After weighing, sit on the sofa and turn on the mobile phone and receive the data just now.</p>

                                
                                </section>
                            
    </div>
    <div class="search-results">
        <div class="has-results">
            
            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
            <ul class="search-results-list"></ul>
            
        </div>
        <div class="no-results">
            
            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
            
        </div>
    </div>
</div>

                        </div>
                    </div>
                
            </div>

            
                
                
                <a href="body_indexes.html" class="navigation navigation-next navigation-unique" aria-label="Next page: Body Index Constant">
                    <i class="fa fa-angle-right"></i>
                </a>
                
            
        
    </div>

    <script>
        var gitbook = gitbook || [];
        gitbook.push(function() {
            gitbook.page.hasChanged({"page":{"title":"FAQ","level":"1.6.1","depth":2,"next":{"title":"Body Index Constant","level":"1.6.2","depth":2,"path":"attouched_list/body_indexes.md","ref":"attouched_list/body_indexes.md","articles":[]},"previous":{"title":"Schedule","level":"1.6","depth":1,"ref":"","articles":[{"title":"FAQ","level":"1.6.1","depth":2,"path":"attouched_list/faq.md","ref":"attouched_list/faq.md","articles":[]},{"title":"Body Index Constant","level":"1.6.2","depth":2,"path":"attouched_list/body_indexes.md","ref":"attouched_list/body_indexes.md","articles":[]},{"title":"Device Type","level":"1.6.3","depth":2,"path":"attouched_list/device_type.md","ref":"attouched_list/device_type.md","articles":[]},{"title":"Display module type","level":"1.6.4","depth":2,"path":"attouched_list/display_module_type.md","ref":"attouched_list/display_module_type.md","articles":[]},{"title":"Body shape comparison table","level":"1.6.5","depth":2,"path":"attouched_list/body_shape.md","ref":"attouched_list/body_shape.md","articles":[]},{"title":"Error Code","level":"1.6.6","depth":2,"path":"attouched_list/error_code.md","ref":"attouched_list/error_code.md","articles":[]},{"title":"Area Type","level":"1.6.7","depth":2,"path":"attouched_list/area_type.md","ref":"attouched_list/area_type.md","articles":[]},{"title":"Scan Error Code","level":"1.6.8","depth":2,"path":"attouched_list/scan_error.md","ref":"attouched_list/scan_error.md","articles":[]},{"title":"Scale State Definition","level":"1.6.9","depth":2,"path":"attouched_list/scale_state.md","ref":"attouched_list/scale_state.md","articles":[]},{"title":"Scale event definition","level":"1.6.10","depth":2,"path":"attouched_list/scale_event.md","ref":"attouched_list/scale_event.md","articles":[]},{"title":"Test Case","level":"1.6.11","depth":2,"path":"attouched_list/test_list.md","ref":"attouched_list/test_list.md","articles":[]},{"title":"Update Log","level":"1.6.12","depth":2,"path":"history/history.md","ref":"history/history.md","articles":[]}]},"dir":"ltr"},"config":{"plugins":["mermaid-gb3"],"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"mermaid-gb3":{},"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"theme":"default","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"language":"en","gitbook":"*"},"file":{"path":"attouched_list/faq.md","mtime":"2021-11-17T02:06:44.081Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2023-01-16T11:02:39.181Z"},"basePath":"..","book":{"language":"en"}});
        });
    </script>
</div>

        
    
    <script src="../../gitbook/gitbook.js"></script>
    <script src="../../gitbook/theme.js"></script>
    
        
        <script src="../../gitbook/gitbook-plugin-mermaid-gb3/book/plugin.js"></script>
        
    
        
        <script src="../../gitbook/gitbook-plugin-search/search-engine.js"></script>
        
    
        
        <script src="../../gitbook/gitbook-plugin-search/search.js"></script>
        
    
        
        <script src="../../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
        
    
        
        <script src="../../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
        
    
        
        <script src="../../gitbook/gitbook-plugin-sharing/buttons.js"></script>
        
    
        
        <script src="../../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
        
    

    <script src="../../gitbook/gitbook-plugin-mermaid-gb3/mermaid/mermaid.min.js"></script>

    </body>
</html>

